/*
 * chat.h - t4/t5
 * A. Justo & Tiago Cavaco
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <signal.h>
#define MAXCLIENTS 20
#define MAXSIZE 1024
#define KEY (key_t)0105
#define SEND_BY_CLIENT 1
#define SEND_BY_SERVER 2

struct myMsg 
{
	long msgType;
	char msgText[MAXSIZE];
};

/*
 * Recebe uma mensagem de uma fila de mensagens. 
 * Termina a aplicação se ocorrer um erro na recepção.
 */
extern char* recebeMensagem (int fila, int tipo_msg);

/*
 * Envia uma mensagem para uma fila de mensagens. 
 * Termina a aplicação se ocorrer um erro no envio.
 */
extern void enviaMensagemPrivada (int nrCliente, char* text);

/*
 * Envia uma mensagem para todas as fila de mensagens criadas. 
 * Termina a aplicação se ocorrer um erro no envio.
 */
extern void enviaMensagem (char* text);

extern void enviaMensagemParaServidor (int fila, char* text);
